gtk_button_set_icon_name (GTK_BUTTON (button), "changes-allow");
}
+char *
+format_header_cb (GObject *object,
+ guint count,
+ double fps)
+{
+ return g_strdup_printf ("%u Icons, %.2f fps", count, fps);
+}
+
GtkWidget *
do_fishbowl (GtkWidget *do_widget)
{
</child>
<child type="end">
<object class="GtkLabel">
- <property name="label">fps</property>
- </object>
- </child>
- <child type="end">
- <object class="GtkLabel">
- <property name="label" bind-source="bowl" bind-property="framerate-string"/>
- </object>
- </child>
- <child type="end">
- <object class="GtkLabel">
- <property name="label">Icons, </property>
- </object>
- </child>
- <child type="end">
- <object class="GtkLabel">
- <property name="label" bind-source="bowl" bind-property="count"/>
+ <binding name="label">
+ <closure type="gchararray" function="format_header_cb">
+ <lookup name="count">bowl</lookup>
+ <lookup name="framerate">bowl</lookup>
+ </closure>
+ </binding>
</object>
</child>
<child type="end">
PROP_BENCHMARK,
PROP_COUNT,
PROP_FRAMERATE,
- PROP_FRAMERATE_STRING,
PROP_UPDATE_DELAY,
NUM_PROPERTIES
};
g_value_set_double (value, gtk_fishbowl_get_framerate (fishbowl));
break;
- case PROP_FRAMERATE_STRING:
- {
- char *s = g_strdup_printf ("%.2f", gtk_fishbowl_get_framerate (fishbowl));
- g_value_set_string (value, s);
- g_free (s);
- }
- break;
-
case PROP_UPDATE_DELAY:
g_value_set_int64 (value, gtk_fishbowl_get_update_delay (fishbowl));
break;
0,
G_PARAM_READABLE);
- props[PROP_FRAMERATE_STRING] =
- g_param_spec_string ("framerate-string",
- "Framerate as string",
- "Framerate as string, with 2 decimals",
- NULL,
- G_PARAM_READABLE);
-
props[PROP_UPDATE_DELAY] =
g_param_spec_int64 ("update-delay",
"Update delay",
priv->framerate = ((int)(priv->framerate * 100))/100.0;
g_object_notify_by_pspec (G_OBJECT (fishbowl), props[PROP_FRAMERATE]);
- g_object_notify_by_pspec (G_OBJECT (fishbowl), props[PROP_FRAMERATE_STRING]);
if (!priv->benchmark)
return;